148 research outputs found

    A Practical Blended Analysis for Dynamic Features in JavaScript

    Get PDF
    The JavaScript Blended Analysis Framework is designed to perform a general-purpose, practical combined static/dynamic analysis of JavaScript programs, while handling dynamic features such as run-time generated code and variadic func- tions. The idea of blended analysis is to focus static anal- ysis on a dynamic calling structure collected at runtime in a lightweight manner, and to rene the static analysis us- ing additional dynamic information. We perform blended points-to analysis of JavaScript with our framework and compare results with those computed by a pure static points- to analysis. Using JavaScript codes from actual webpages as benchmarks, we show that optimized blended analysis for JavaScript obtains good coverage (86.6% on average per website) of the pure static analysis solution and nds ad- ditional points-to pairs (7.0% on average per website) con- tributed by dynamically generated/loaded code

    Visualizing the Results of a Complex Hybrid Dynamic-Static Analysis

    Get PDF
    Complex static or hybrid static-dynamic analyses produce large quantities of structured data. In the past, this data was generally intended for use by compilers or other software tools that used the produced information to transform the application being analyzed. However, it is becomingly increasingly common for the results of these analyses to be used directly by humans. For example, in our own prior work we have developed a hybrid dynamic-static escape analysis intended to help developers identify sources of object churn within large framework-base applications. In order to facilitate human use of complex analysis results, visualizations need to be developed that allow a user to browse these results and to identify the points of interest within these large data sets. In this paper we present Hi-C, a visualization tool for our hybrid escape analysis that has been implemented as an Eclipse plugin. We show how Hi-C can help developers identify sources of object churn in a large framework-based application and how we have used the tool to assist in understanding the results of a complex analysis

    Adaptive Context-sensitive Analysis for JavaScript

    Get PDF
    Context sensitivity is a technique to improve program analysis precision by distinguishing between function calls. A specific context-sensitive analysis is usually designed to accommodate the programming paradigm of a particular programming language. JavaScript features both the object-oriented and functional programming paradigms. Our empirical study suggests that there is no single context-sensitive analysis that always produces precise results for JavaScript applications. This observation motivated us to design an adaptive analysis, selecting a context-sensitive analysis from multiple choices for each function. Our two-staged adaptive context-sensitive analysis first extracts function characteristics from an inexpensive points-to analysis and then chooses a specialized context-sensitive analysis per function based on the heuristics. The experimental results show that our adaptive analysis achieved more precise results than any single context-sensitive analysis for several JavaScript programs in the benchmarks

    Parameterized Object Sensitivity for Points-to Analysis for Java

    Get PDF
    The goal of points-to analysis for Java is to determine the set of objects pointed to by a reference variable or a reference object field. We present object sensitivity, a new form of context sensitivity for flow-insensitive points-to analysis for Java. The key idea of our approach is to analyze a method separately for each of the object names that represent runtime objects on which this method may be invoked. To ensure flexibility and practicality, we propose a parameterization framework that allows analysis designers to control the tradeo#s between cost and precision in the object-sensitive analysis

    A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications

    Full text link
    Framework-intensive applications (e.g., Web applications) heavily use temporary data structures, often resulting in performance bot-tlenecks. This paper presents an optimized blended escape analysis to approximate object lifetimes and thus, to identify these tempo-raries and their uses. Empirical results show that this optimized analysis on average prunes 37 % of the basic blocks in our bench-marks, and achieves a speedup of up to 29 times compared to the original analysis. Newly defined metrics quantify key properties of temporary data structures and their uses. A detailed empirical eval-uation offers the first characterization of temporaries in framework-intensive applications. The results show that temporary data struc-tures can include up to 12 distinct object types and can traverse through as many as 14 method invocations before being captured

    Structurally Defined Conditional Data-Flow Static Analysis

    Get PDF
    Data flow analysis (DFA) is an important verification technique that computes the effect of data values propagating over program paths. While more precise than flow-insensitive analyses, such an analysis is time-consuming. This paper investigates the acceleration of DFA by structural decomposition of the underlying control flow graph. Specifically, we explore the cost and effectiveness of dividing program paths into subsets by partitioning path suffixes at conditional statements, applying a DFA on each subset, and then combining the resulting invariants. This yields a family of independent DFA problems that are solved in parallel and where the partial results of each problem represent safe program invariants. Empirical evaluations reveal that depending on the DFA type and its conditional implementation the invariants for a large fraction of program points can be computed in less time than traditional DFA. This work suggests a strategy for an “anytime DFA” algorithm: computing safe program invariants as the analysis proceeds

    Cognitive testing of physical activity and acculturation questions in recent and long-term Latino immigrants

    Get PDF
    <p>Abstract</p> <p>Background</p> <p>We ascertained the degree to which language (English versus Spanish), and residence time in the US influence responses to survey questions concerning two topics: self-reported acculturation status, and recent physical activity (PA). This topic is likely to be of general interest because of growing numbers of immigrants in countries worldwide.</p> <p>Methods</p> <p>We carried out qualitative (cognitive) interviews of survey items on acculturation and physical activity on 27 Latino subjects from three groups: (a) In Spanish, of those of low residence time (less than five years living in the U.S.) (n = 9); (b) In Spanish, of those of high residence time (15 or more years in the U.S) (n = 9); and (c) in English, of those of high residence time (n = 9).</p> <p>Results</p> <p>There were very few language translation problems; general question design defects and socio-cultural challenges to survey responses were more common. Problems were found for both acculturation and PA questions, with distinct problem types for the two question areas. Residence time/language group was weakly associated with overall frequency of problems observed: low residence time/Spanish (86%), high residence time/Spanish (67%), and English speaking groups (62%).</p> <p>Conclusions</p> <p>Standardized survey questions related to acculturation and physical activity present somewhat different cognitive challenges. For PA related questions, problems with such questions were similar regardless of subject residence time or language preference. For acculturation related questions, residence time/language or education level influenced responses to such questions. These observations should help in the interpretation of survey results for culturally diverse populations.</p

    Seladelpar efficacy and safety at 3 months in patients with primary biliary cholangitis: ENHANCE, a phase 3, randomized, placebo-controlled study

    Get PDF
    Background and Aims: ENHANCE was a phase 3 study that evaluated efficacy and safety of seladelpar, a selective peroxisome proliferator-activated receptor-δ (PPAR) agonist, versus placebo in patients with primary biliary cholangitis with inadequate response or intolerance to ursodeoxycholic acid (UDCA). Approach and Results: Patients were randomized 1:1:1 to oral seladelpar 5 mg (n=89), 10 mg (n=89), placebo (n=87) daily (with UDCA, as appropriate). Primary end point was a composite biochemical response [alkaline phosphatase (ALP) &lt; 1.67×upper limit of normal (ULN), ≥15% ALP decrease from baseline, and total bilirubin ≤ ULN] at month 12. Key secondary end points were ALP normalization at month 12 and change in pruritus numerical rating scale (NRS) at month 6 in patients with baseline score ≥4. Aminotransferases were assessed. ENHANCE was terminated early following an erroneous safety signal in a concurrent, NASH trial. While blinded, primary and secondary efficacy end points were amended to month 3. Significantly more patients receiving seladelpar met the primary end point (seladelpar 5 mg: 57.1%, 10 mg: 78.2%) versus placebo (12.5%) (p &lt; 0.0001). ALP normalization occurred in 5.4% (p=0.08) and 27.3% (p &lt; 0.0001) of patients receiving 5 and 10 mg seladelpar, respectively, versus 0% receiving placebo. Seladelpar 10 mg significantly reduced mean pruritus NRS versus placebo [10 mg: −3.14 (p=0.02); placebo: −1.55]. Alanine aminotransferase decreased significantly with seladelpar versus placebo [5 mg: 23.4% (p=0.0008); 10 mg: 16.7% (p=0.03); placebo: 4%]. There were no serious treatment-related adverse events. Conclusions: Patients with primary biliary cholangitis (PBC) with inadequate response or intolerance to UDCA who were treated with seladelpar 10 mg had significant improvements in liver biochemistry and pruritus. Seladelpar appeared safe and well tolerated
    corecore